/*
type int
parse 2 0
parse 3 1
parse 376 0
*/

# On 2013-05-12, I discovered that v0.0-48-gf4218b6 doesn't handle braces
# correctly in the preamble - so a preamble could contain at most one function
# definition.

{
  int isodd(int x) {
    return !iseven(x);
  }
  int iseven(int x) {
    if (x == 0) return 1;
    return isodd(x - 1);
  }
}

D ← d:[0-9]+ → { isodd(atoi(ref_ptr(d))) }
